#ifndef _QUEUEEQUINFO_H_
#define _QUEUEEQUINFO_H_
/*
    接收设备端采集到的数据的链表
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <semaphore.h>

struct info{
    struct sockaddr_in addr;
    char buf[100];
};
struct queueinfo{
    struct info data;
    struct queueinfo *next;
};

struct exam{
    sem_t semr;
    sem_t semw;
    pthread_mutex_t mutex;
    struct queueinfo *que;
};


//创建一个队列
struct queueinfo *create_equeue();

//入队
void epush(struct queueinfo *que,struct info data);

//找到队首元素
struct info efront(struct queueinfo *que);

//删除队首元素
void epop(struct queueinfo *que);

//判断队列是否为空
int eisemptyque(struct queueinfo *que);

//求队列的大小
int esizeofque(struct queueinfo *que);

// //释放队列
// void efreeque(struct queueinfo *que);


#endif